In [1]:
%pylab inline


Populating the interactive namespace from numpy and matplotlib

In [2]:
import nltk
from tethne.readers import zotero
import matplotlib.pyplot as plt
from helpers import normalize_token, filter_token

In [10]:
from itertools import izip_longest

def grouper(iterable, n, fillvalue=''):
    args = [iter(iterable)] * n
    return izip_longest(*args, fillvalue=fillvalue)

In [4]:
text_root = '/Users/erickpeirson/EmbryoProjectTexts/files'
zotero_export_path = '/Users/erickpeirson/EmbryoProjectTexts'

corpus = nltk.corpus.PlaintextCorpusReader(text_root, 'https.+')
metadata = zotero.read(zotero_export_path, index_by='link', follow_links=False)

1.4. Features in texts - Entities


In [5]:
import nltk
import ner

In [6]:
tagger = ner.SocketNER(host='localhost', port=9191, output_format='slashTags')

In [7]:
tagger.tag_text('Bob Dole was a cool dude')


Out[7]:
u'Bob/PERSON Dole/PERSON was/O a/O cool/O dude/O \n'

In [ ]:


In [12]:
tagged_stanford = [tuple(token.split('/')) 
                   for chunk in grouper(corpus.words(), 10000)
                   for token in tagger.tag_text(' '.join(chunk)).split()]

In [13]:
tagged_stanford[:30]


Out[13]:
[(u'By', u'O'),
 (u'Mandana', u'PERSON'),
 (u'Minai', u'PERSON'),
 (u'Published', u'O'),
 (u':', u'O'),
 (u'2016', u'O'),
 (u'-', u'O'),
 (u'04', u'O'),
 (u'-', u'O'),
 (u'18', u'O'),
 (u'Keywords', u'O'),
 (u':', u'O'),
 (u'Methylmercury', u'O'),
 (u'and', u'O'),
 (u'Human', u'O'),
 (u'Embryonic', u'O'),
 (u'DevelopmentMethylmercury', u'O'),
 (u'-LRB-', u'O'),
 (u'MeHg', u'O'),
 (u'-RRB-', u'O'),
 (u'is', u'O'),
 (u'an', u'O'),
 (u'organic', u'O'),
 (u'form', u'O'),
 (u'of', u'O'),
 (u'mercury', u'O'),
 (u'that', u'O'),
 (u'can', u'O'),
 (u'damage', u'O'),
 (u'the', u'O')]

In [18]:
tagged_tokens = nltk.pos_tag(corpus.words()[:1000])

In [19]:
chunks = nltk.ne_chunk(tagged_tokens)

In [25]:
chunks[200:400]


Out[25]:
[(u'the', 'DT'),
 (u'air', 'NN'),
 (u',', ','),
 (u'it', 'PRP'),
 (u'circulates', 'VBZ'),
 (u'in', 'IN'),
 (u'the', 'DT'),
 (u'atmosphere', 'NN'),
 (u'until', 'IN'),
 (u'it', 'PRP'),
 (u'is', 'VBZ'),
 (u'brought', 'VBN'),
 (u'down', 'RP'),
 (u'through', 'IN'),
 (u'rain', 'NN'),
 (u'or', 'CC'),
 (u'snowfall', 'NN'),
 (u',', ','),
 (u'and', 'CC'),
 (u'then', 'RB'),
 (u'it', 'PRP'),
 (u'can', 'MD'),
 (u'flow', 'VB'),
 (u'into', 'IN'),
 (u'bodies', 'NNS'),
 (u'of', 'IN'),
 (u'water', 'NN'),
 (u'like', 'IN'),
 (u'lakes', 'NNS'),
 (u'and', 'CC'),
 (u'streams', 'NNS'),
 (u'.', '.'),
 (u'Once', 'RB'),
 (u'in', 'IN'),
 (u'water', 'NN'),
 (u',', ','),
 (u'bacteria', 'NNS'),
 (u'transform', 'VBP'),
 (u'the', 'DT'),
 (u'mercury', 'NN'),
 (u'into', 'IN'),
 (u'its', 'PRP$'),
 (u'more', 'JJR'),
 (u'toxic', 'JJ'),
 (u'form', 'NN'),
 (u',', ','),
 (u'methylmercury', 'NN'),
 (u'.', '.'),
 (u'In', 'IN'),
 (u'this', 'DT'),
 (u'form', 'NN'),
 (u',', ','),
 (u'it', 'PRP'),
 (u'is', 'VBZ'),
 (u'absorbed', 'VBN'),
 (u'by', 'IN'),
 (u'aquatic', 'JJ'),
 (u'plants', 'NNS'),
 (u'and', 'CC'),
 (u'animals', 'NNS'),
 (u'.', '.'),
 (u'Fish', 'JJ'),
 (u'can', 'MD'),
 (u'absorb', 'VB'),
 (u'methylmercury', 'NN'),
 (u'from', 'IN'),
 (u'water', 'NN'),
 (u'through', 'IN'),
 (u'their', 'PRP$'),
 (u'gills', 'NNS'),
 (u'and', 'CC'),
 (u'by', 'IN'),
 (u'eating', 'VBG'),
 (u'other', 'JJ'),
 (u'fish', 'NN'),
 (u'that', 'IN'),
 (u'possess', 'JJ'),
 (u'concentrations', 'NNS'),
 (u'of', 'IN'),
 (u'methylmercury', 'NN'),
 (u'.', '.'),
 (u'Consequently', 'RB'),
 (u',', ','),
 (u'the', 'DT'),
 (u'concentrations', 'NNS'),
 (u'of', 'IN'),
 (u'methylmercury', 'NN'),
 (u'in', 'IN'),
 (u'exposed', 'JJ'),
 (u'fishs', 'NN'),
 (u"'", 'POS'),
 (u's', 'NN'),
 (u'tissues', 'NNS'),
 (u'increases', 'VBZ'),
 (u'over', 'IN'),
 (u'time', 'NN'),
 (u',', ','),
 (u'with', 'IN'),
 (u'fish', 'JJ'),
 (u'high', 'NN'),
 (u'on', 'IN'),
 (u'the', 'DT'),
 (u'food', 'NN'),
 (u'chain', 'NN'),
 (u'possessing', 'VBG'),
 (u'higher', 'JJR'),
 (u'concentrations', 'NNS'),
 (u'of', 'IN'),
 (u'methylmercury', 'NN'),
 (u'than', 'IN'),
 (u'fish', 'JJ'),
 (u'low', 'JJ'),
 (u'on', 'IN'),
 (u'the', 'DT'),
 (u'food', 'NN'),
 (u'chain', 'NN'),
 (u'.', '.'),
 (u'Humans', 'NNPS'),
 (u'expose', 'VBP'),
 (u'themselves', 'PRP'),
 (u'to', 'TO'),
 (u'methylmercury', 'VB'),
 (u'when', 'WRB'),
 (u'they', 'PRP'),
 (u'eat', 'VBP'),
 (u'contaminated', 'JJ'),
 (u'fish', 'NN'),
 (u'.', '.'),
 (u'When', 'WRB'),
 (u'pregnant', 'JJ'),
 (u'women', 'NNS'),
 (u'eat', 'RB'),
 (u'contaminated', 'VBD'),
 (u'fish', 'JJ'),
 (u',', ','),
 (u'their', 'PRP$'),
 (u'embryos', 'NN'),
 (u'or', 'CC'),
 (u'fetuses', 'NNS'),
 (u'also', 'RB'),
 (u'are', 'VBP'),
 (u'exposed', 'VBN'),
 (u'to', 'TO'),
 (u'the', 'DT'),
 (u'methylmercury', 'NN'),
 (u',', ','),
 (u'and', 'CC'),
 (u'they', 'PRP'),
 (u'can', 'MD'),
 (u'develop', 'VB'),
 (u'congenital', 'JJ'),
 (u'Minimata', 'NNP'),
 (u'disease', 'NN'),
 (u'.', '.'),
 (u'In', 'IN'),
 (u'1959', 'CD'),
 (u',', ','),
 (u'researchers', 'NNS'),
 (u'attributed', 'VBD'),
 Tree('ORGANIZATION', [(u'Minamata', 'NNP')]),
 (u'symptoms', 'NNS'),
 (u'to', 'TO'),
 (u'poisoning', 'VBG'),
 (u'by', 'IN'),
 (u'methylmercury', 'NN'),
 (u'found', 'VBN'),
 (u'in', 'IN'),
 (u'the', 'DT'),
 (u'water', 'NN'),
 (u'of', 'IN'),
 Tree('ORGANIZATION', [(u'Minamata', 'NNP'), (u'Bay', 'NNP')]),
 (u'in', 'IN'),
 Tree('GPE', [(u'Kyushu', 'NNP')]),
 (u',', ','),
 Tree('GPE', [(u'Japan', 'NNP')]),
 (u'.', '.'),
 Tree('ORGANIZATION', [(u'Congenital', 'NNP'), (u'Minamata', 'NNP')]),
 (u'disease', 'NN'),
 (u'enabled', 'VBD'),
 (u'researchers', 'NNS'),
 (u'to', 'TO'),
 (u'identify', 'VB'),
 (u'the', 'DT'),
 (u'poisonous', 'JJ'),
 (u'effects', 'NNS'),
 (u'of', 'IN'),
 (u'methylmercury', 'NN'),
 (u',', ','),
 (u'which', 'WDT'),
 (u'those', 'DT'),
 (u'near', 'IN'),
 Tree('PERSON', [(u'Kyushu', 'NNP')]),
 (u'consumed', 'VBD'),
 (u'when', 'WRB'),
 (u'they', 'PRP'),
 (u'ate', 'VBP'),
 (u'local', 'JJ'),
 (u'seafood', 'NN'),
 (u'.', '.'),
 Tree('PERSON', [(u'Symptoms', 'NNP')])]

In [ ]: